#include <WiFi.h>
//請修改以下參數--------------------------------------------
char ssid[] = "SSID";
char password[] = "SSIDpassword";
int Gled = 15; //宣告綠色Led在 GPIO 15
WiFiServer server(80); //宣告伺服器位在80 port
void setup()
{
Serial.begin(115200);
Serial.print("開始連線到無線網路SSID:");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
Serial.println("連線完成");
server.begin();
Serial.print("伺服器已啟動,http://");
Serial.println(WiFi.localIP());
pinMode(Gled, OUTPUT);
}
void loop()
{
//宣告一個連線
WiFiClient client = server.available();
if (client) {
//有人連入時
Serial.println("使用者連入");
//-------------網頁的html部份開始--------------
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("");
client.println("");
client.println("");
client.println("ESP32 Web Server");
//HTML超連結指令
client.println("開啟綠色LED");
client.println("關閉綠色LED");
client.println("");
//-------------網頁的html部份結束--------------
//取得使用者輸入的網址
String request = client.readStringUntil('\r');
Serial.println(request);
//判斷超連結指令
//網址內包含Gled=ON,就開啟綠燈,如果Gled=OFF,關閉綠燈
if (request.indexOf("Gled=ON") >= 0) { digitalWrite(Gled, HIGH); }
if (request.indexOf("Gled=OFF") >= 0) { digitalWrite(Gled, LOW); }
Serial.println("完成");
client.stop();//停止連線
}
}